package chat;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;

/**Implementacao do servi�o de cadastro.
*
* @author Nara, Nelson e Lucas Trombeta
*/
public class CadastroServiceImpl extends UnicastRemoteObject implements CadastroService{

	public CadastroServiceImpl() throws RemoteException{
        super();
    }

    public boolean isCadastrado(String apelido, String nome, String senha) {

        try {
            BufferedReader in = new BufferedReader(new FileReader("Dados.txt"));
            while (in.ready()) {
                String line = in.readLine();
                String elementos[] = line.split("::");

                if (elementos[0].equals(apelido) && elementos[1].equals(nome)
                        && elementos[2].equals(senha)) {
                    return true;
                }
            }
        } catch (FileNotFoundException ex) {
            return false;
        } catch (IOException io) {
            return false;
        }

        return false;
    }

    public String cadastrar(String apelido, String nome, String senha) throws RemoteException {
        String str = String.format("%s::%s::%s::", apelido, nome, senha);
        if (!isCadastrado(apelido, nome, senha)) {
            try {
                BufferedWriter out = new BufferedWriter(new FileWriter("Dados.txt", true));
                out.write(str);
                out.newLine();
                out.close();
            } catch (IOException ex) {
                return "Nao foi possivel realizar cadastro!";
            }
            return "Cadastrado com sucesso!";
        } else {
            return "Cadastro ja existe!";
        }
    }
}
